package com.vm.osm.business.dto.eam.equ;

import com.google.common.base.MoreObjects;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 设备自定义属性
 *
 * @author Xuerong Xue
 */
@Data
public class EquDiyAttr implements Serializable {
    @ApiModelProperty("开始时间")
    private Long begin_time;
    @ApiModelProperty("区间（开始时间标题）")
    private String begin_time_title;
    @ApiModelProperty("日期类型（1年-月-日 2年-月-日 时:分）")
    private Byte date_type;
    @ApiModelProperty("结束时间")
    private Long end_time;
    @ApiModelProperty("区间（结束时间标题）")
    private String end_time_title;
    @ApiModelProperty("标题")
    private String field_title;
    @ApiModelProperty("字段类型（" +
            "1：单行文本、" +
            "2：多行文本、" +
            "3：数字文本、" +
            "4：单选、" +
            "5：多选、" +
            "6：下拉框、" +
            "7：日期区间、" +
            "8：日期时间、" +
            "9：附件、" +
            "10：图片)")
    private Byte field_type;
    @ApiModelProperty("文件数量")
    private Integer file_count;
    @ApiModelProperty("字段编号")
    private String id;
    @ApiModelProperty("是否必填（1：是、0：否）")
    private Byte is_required;
    @ApiModelProperty("字数限制")
    private Integer letter_num;
    @ApiModelProperty("最大值")
    private Integer max;
    @ApiModelProperty("最小值")
    private Integer min;
    @ApiModelProperty("选项集合")
    private List<String> option_list;
    @ApiModelProperty("提示文字")
    private String tips;
    @ApiModelProperty("单位")
    private String unit;

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("begin_time", begin_time)
                .add("begin_time_title", begin_time_title)
                .add("date_type", date_type)
                .add("end_time", end_time)
                .add("end_time_title", end_time_title)
                .add("field_title", field_title)
                .add("field_type", field_type)
                .add("file_count", file_count)
                .add("id", id)
                .add("is_required", is_required)
                .add("letter_num", letter_num)
                .add("max", max)
                .add("min", min)
                .add("option_list", option_list)
                .add("tips", tips)
                .add("unit", unit)
                .toString();
    }
}
